<style>
body {
  margin: 0;
}

.group {
  display: inline-block;
  position: relative;
  width: 250px;
  height: 350px;
}

.scroller {
  will-change: transform;

  overflow: auto;
  width: 200px;
  height: 350px;
  outline: 2px solid black;
}

.container {
  width: 200px;
  height: 700px;
}

.outerSticky {
  will-change: transform;

  position: sticky;
  background-color: green;
  width: 200px;
  height: 200px;
}

.innerSticky {
  will-change: transform;

  position: sticky;
  background-color: red;
  width: 200px;
  height: 100px;
}
</style>

<script>
if (window.testRunner)
  testRunner.waitUntilDone();

function finishTest() {
  for (const scroller of document.querySelectorAll('.scroller')) {
    scroller.scrollTop = 200;
  }
  if (window.testRunner)
    testRunner.notifyDone();
}

window.addEventListener('load', function() {
  requestAnimationFrame(function() {
    requestAnimationFrame(finishTest);
  });
});
</script>
<div class="group">
  <div class="scroller">
    <div class="container">
      <div class="outerSticky" style="top: 50px;">
        <div class="innerSticky" style="top: 50px;"></div>
      </div>
    </div>
  </div>
</div>

<div class="group">
  <div class="scroller">
    <div class="container">
      <div class="outerSticky" style="top: 50px;">
        <div class="innerSticky" style="top: 100px;"></div>
      </div>
    </div>
  </div>
</div>

<div class="group">
  <div class="scroller">
    <div class="container">
      <div class="outerSticky" style="top: 50px;">
        <div class="innerSticky" style="top: 300px;"></div>
      </div>
    </div>
  </div>
</div>
